<?php

/*!
 * \file UtilisateurRepository.php
 * \namespace Site\UtilisateurBundle\Entity
 * \class UtilisateurRepository
 *
 * \author Olivier FRAPPEREAU, Clément BRINGUIER
 *
 * \brief Cette classe contient les méthode de récupération personnalisé pour doctrine.
 */

namespace Site\UtilisateurBundle\Entity;

use Doctrine\ORM\EntityRepository;
use Site\UtilisateurBundle\Entity\Utilisateur;


class UtilisateurRepository extends EntityRepository
{

/*!
 * \author Olivier FRAPPEREAU, Clément BRINGUIER
 *
 * \fn public function nettoyerBDDEtudiant()
 * \return Le nombres de lignes effacées.
 *
 * \brief Efface tous les étudiants de la BDD et les choix.
 */

	public function nettoyerBDDEtudiant()
	{

	    //Attention aux suppressions en cascade;
	    // Supprime ses vieux souhaits, ses souhaits, son entrée dans la table étudiant (et utilisateur ?!)
	    //Après test, créer une chaine de caractère appropriée au resultat (succès, non succés, erreur)

	    $nb1 = $this->supprimerAllEtudiants();
	   // $nb2 = $this->supprimerAllChoix();

	    return ( $nb1 );

	}


/*!
 * \author Olivier FRAPPEREAU, Clément BRINGUIER
 *
 * \fn public function supprimerAllEtudiants()
 * \return $nbrLignesEffacees Le nombres de lignes effacées.
 *
 * \brief Efface tous les étudiants de la BDD.
 */

	private function supprimerAllEtudiants()
	{
		$query= $this->_em->createQueryBuilder()
								->delete()
								->from($this->_entityName,'u')
								->where("u.type='e'") // Etudier si cascade ou pas (il le faut ici)
								;
		$nbLignesEffacees = $query->getQuery()->getResult();

		return $nbLignesEffacees;

	}

/*!
 * \author Olivier FRAPPEREAU, Clément BRINGUIER
 *
 * \fn public function supprimerAllChoix()
 * \return $nbrLignesEffacees Le nombres de lignes effacées.
 *
 * \brief Efface tous les choix.
 */

	private function supprimerAllChoix()
	{
			$query= $this->_em->createQueryBuilder()
								->delete()
								->from('SiteGeneralBundle:Souhait', 's')
								;
		$nbLignesEffacees = $query->getQuery()->getResult();

		return $nbLignesEffacees;

	}


}
?>


